package com.google.code.swingonfire.showcase.utils;

import java.awt.Component;

public abstract class AbstractParameterDefinition<COMPONENT_TYPE extends Component, PARAMETER_TYPE> implements
    ParameterDefinition<COMPONENT_TYPE, PARAMETER_TYPE>
{

    private final String name;
    private final Class<? extends PARAMETER_TYPE> parameterType;

    public AbstractParameterDefinition(String name, Class<? extends PARAMETER_TYPE> parameterType)
    {
        super();

        this.name = name;
        this.parameterType = parameterType;
    }

    /**
     * {@inheritDoc}
     */
    @Override
    public String getName()
    {
        return name;
    }

    /**
     * {@inheritDoc}
     */
    @Override
    public Class<? extends PARAMETER_TYPE> getParameterType()
    {
        return parameterType;
    }

}
